from rest_framework.views import APIView  # DRF 的基础视图类
from rest_framework.response import Response  # 用于返回响应
from demo_one.models import Student  # 导入模型
from demo_one.serializers import StudentSerializer  # 导入序列化器


class StudentListView(APIView):
    """获取所有班级的 API 视图"""

    def get(self, request):
        # 查询所有班级（可添加过滤、排序等逻辑）
        students = Student.objects.all().order_by('name')  # 按名称升序排列

        # 使用序列化器将模型数据转为 JSON
        serializer = StudentSerializer(students, many=True)  # many=True 表示处理多个对象

        # 返回 JSON 响应（格式：{ "code": 200, "data": [...] }）
        return Response({
            "code": 200,
            "message": "成功",
            "data": serializer.data  # 序列化后的 JSON 数据
        })
